4c0c0c6a9649620959e8fa4256b61a34508547fa,order/order-worker/src/main/java/demo/config/StateMachineConfig.java,StateMachineConfig,configure,#StateMachineTransitionConfigurer#,100

Before Change


                    .event(OrderEventType.PAYMENT_CONNECTED)
                    .action(paymentConnected())
                    .and()
                    .withExternal()
                    .source(OrderStatus.PAYMENT_PENDING)
                    .target(OrderStatus.PAYMENT_SUCCEEDED)
                    .event(OrderEventType.PAYMENT_SUCCEEDED)
                    .action(paymentSucceeded())
                    .and()
                    .withExternal()
                    .source(OrderStatus.PAYMENT_PENDING)
                    .target(OrderStatus.PAYMENT_FAILED)
                    .event(OrderEventType.PAYMENT_FAILED)
                    .action(paymentFailed());
        } catch (Exception e) {
            throw new RuntimeException("Could not configure state machine transitions", e);
        }

After Change


                    .event(OrderEventType.PAYMENT_CREATED)
                    .action(paymentCreated())
                    .and()
                    .withExternal()
                    .source(OrderStatus.PAYMENT_CREATED)
                    .target(OrderStatus.PAYMENT_PENDING)
                    .event(OrderEventType.PAYMENT_CONNECTED)
                    .action(paymentConnected())
                    .and()
                    .withExternal()
                    .source(OrderStatus.PAYMENT_PENDING)
                    .target(OrderStatus.PAYMENT_SUCCEEDED)
                    .event(OrderEventType.PAYMENT_SUCCEEDED)
                    .action(paymentSucceeded())
                    .and()
                    .withExternal()
                    .source(OrderStatus.PAYMENT_PENDING)
                    .target(OrderStatus.PAYMENT_FAILED)
                    .event(OrderEventType.PAYMENT_FAILED)
                    .action(paymentFailed())
                    .and()
                    .withExternal()
                    .source(OrderStatus.PAYMENT_FAILED)
                    .target(OrderStatus.ORDER_FAILED)